DirectFlow: A Domain-Specific Language for Information-Flow Systems
نویسندگان
چکیده
Programs that process streams of information are commonly built by assembling reusable information-flow components. In some systems the components must be chosen from a pre-defined set of primitives; in others the programmer can create new custom components using a general-purpose programming language. Neither approach is ideal: restricting programmers to a set of primitive components limits the expressivity of the system, while allowing programmers to define new components in a general-purpose language makes it difficult or impossible to reason about the composite system. We advocate defining information-flow components in a domain-specific language (DSL) that enables us to infer the properties of the components and of the composed system; this provides us with a good compromise between analysability and expressivity. This paper presents DirectFlow, which comprises a DSL, a compiler and a runtime system. The language allows programmers to define objects that implement information-flow components without specifying how messages are sent and received. The compiler generates Java classes by inferring the message sends and methods, while the run-time library constructs information-flow networks by composition of DSL-defined components with standard components.
منابع مشابه
DirectFlow: Toward a DSL for Infopipes
Information-flow components can be represented as objects, but this representation is at once too general and overly specific. This is a problem because the generality makes it possible to define objects that cannot be treated as components, while the specificity requires that the programmer code details that are irrelevant to the information-flow abstraction. Instead, we advocate defining info...
متن کاملWriting Reusable Infopipes Using DirectFlow
An information flow program is one that processes or transforms streams of data packets. The object-based Infopipes system allows an information flow program to be constructed by connecting objects with explicit data channels, but a phenomenon known as port polarity makes code reuse difficult by requiring the programmer to maintain multiple versions of the same Infopipe that differ slightly in ...
متن کاملPublic Transport Ontology for Passenger Information Retrieval
Passenger information aims at improving the user-friendliness of public transport systems while influencing passenger route choices to satisfy transit user’s travel requirements. The integration of transit information from multiple agencies is a major challenge in implementation of multi-modal passenger information systems. The problem of information sharing is further compounded by the multi-l...
متن کاملPresenting a method for extracting structured domain-dependent information from Farsi Web pages
Extracting structured information about entities from web texts is an important task in web mining, natural language processing, and information extraction. Information extraction is useful in many applications including search engines, question-answering systems, recommender systems, machine translation, etc. An information extraction system aims to identify the entities from the text and extr...
متن کاملData Flow Logic: Analyzing Information Flow Properties of C Programs
Understanding and analyzing information flow is crucial in the evaluation of security critical software systems. Data Flow Logic (DFL) is a domain specific language under development at Rockwell Collins for use in specifying and verifying dynamic information flow properties of such systems. The language employs C source code annotations to enable concise, consumable, abstract specifications of ...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2007